// 导入fs path模块
const fs = require('fs')
const path = require('path')
// 利用正则匹配 <style> </style> <script></script> \s 匹配空白字符串 \S匹配非空白字符串
const regCss = /<style>[\s\S]*<\/style>/
// 匹配<script></script>
const regScript = /<script>[\s\S]*<\/script>/
// 读取
// console.log(path.join(__dirname,'./时钟案例.js'));
fs.readFile(path.join(__dirname, './index.html'), 'utf-8', function (err, dataStr) {
  // console.log(err);
  if (err) return console.log(`读取失败：${err.message}`);
  // console.log(dataStr);
  // 处理css函数
  resolveCSS(dataStr)
  // 处理js函数
  resolveJS(dataStr)
  // // 处理html函数
  resolveHTML(dataStr)
})
//css函数
function resolveCSS(dataStr) {
  // console.log(dataStr); 利用readFile()读取回来的index.html的文件内容(字符串)
  const r1 = regCss.exec(dataStr)
  // return console.log(r1)
  // console.log(r1[0]);
  // 使用replace()替换掉<style> </style>
  const newStr = r1[0].replace('<style>', '').replace('</style>', '')
  // console.log(newStr);
  // 写入
  fs.writeFile(path.join(__dirname, './clocks/index.css'), newStr, 'utf-8', function (err) {
    if (err) return console.log(`写入失败：${err.message}`);
  })
}
//js函数
function resolveJS(dataStr) {
  // console.log(dataStr);
  // console.log(dataStr); 利用readFile()读取回来的index.html的文件内容(字符串)
  const r2 = regScript.exec(dataStr)
  // console.log(r1[0]);
  // 使用replace()替换掉<style> </style>
  const newStr1 = r2[0].replace('<script>', '').replace('</script>', '')
  // console.log(newStr1);
  // // 写入
  fs.writeFile(path.join(__dirname, './clocks/index.js'), newStr1, 'utf-8', function (err) {
    if (err) return console.log(`写入失败：${err.message}`);
  })
}
//html函数
function resolveHTML(dataStr) {
  // console.log(dataStr);
  // const r1=regCss.exec(dataStr)
  // const r2=regScript.exec(dataStr)
  const newStr2 = dataStr.replace(regCss, '<link rel="stylesheet" href="./index.css">').replace(regScript, '<script src="./index.js"></script>')
  // console.log(newStr2);
  // // 写入
  fs.writeFile(path.join(__dirname, './clocks/index.html'), newStr2, 'utf-8', function (err) {
    if (err) return console.log(`写入失败：${err.message}`);
  })
}
